package javaLearning.接口与继承;

/**
 * @author : K k
 * @date : 10:27 2020/8/31
 * 若静态变量中，未出现类对象
 * 则按照 静态变量 静态代码块 静态方法 变量 普通代码块 构造方法 普通方法
 * 若静态变量中，出现类对象
 * 则先加载 普通变量，普通代码块，构造方法
 */
public class StaticDemo1 {

    public static int k = 0;
    //public static StaticDemo1 t1 = new StaticDemo1("t1");
    public StaticVarDemo t2 = new StaticVarDemo();
    public static int i = print("i");
    public static int n = 99;
    public int j = print("j");

    {
        print("构造块");
    }

    static{
        print("静态块");
    }

    public StaticDemo1(String str) {
        System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
        ++n;
        ++i;
    }

    public static int print(String str) {
        System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
        ++i;
        return ++n;
    }
    public static void main(String[] args) {
        StaticDemo1 t = new StaticDemo1("init");
    }

}
